/**
题目:
给定一个链表，判断链表中是否有环。
如果链表中有某个节点，可以通过连续跟踪 next 指针再次到达，则链表中存在环。
 为了表示给定链表中的环，我们使用整数 pos 来表示链表尾连接到链表中的位置（索引从 0 开始）。 
 如果 pos 是 -1，则在该链表中没有环。注意：pos 不作为参数进行传递，仅仅是为了标识链表的实际情况。
如果链表中存在环，则返回 true 。 否则，返回 false 。
思路:快慢指针
效果:
执行用时：8 ms, 在所有 Go 提交中击败了75.07%的用户
内存消耗：3.6 MB, 在所有 Go 提交中击败了100.00%的用户
*/
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func hasCycle(head *ListNode) bool {
   if head == nil{
       return false
   }
   fast, slow := head, head
   for fast != nil && fast.Next != nil{
       fast = fast.Next.Next
       slow = slow.Next
       if fast == slow{
           return true
       }
   }
   return false
}